"""
此文件存放工具函数-asdSDS 
"""


def pip_install_dependency(path='requirements.txt'):
    # 功能：对anaconda进行环境移植时，解决pip安装依赖遇到报错就停止的问题：一键安装依赖，并留存为安装的包
    # 参数：依赖文件的路径：必须是pip freeze格式的导出文件
    # 返回:uninstall-list_str：返回未安装的的包列表，列表元素为命令行
    import subprocess
    results = []
    with open(path) as dependency:
        packages = dependency.readlines()
    for package in packages:
        try:
            # 1.python>=3.5
            a = subprocess.run('pip install %s' % (package))
            if a.returncode != 0:
                results.append(a.args)
            # 2.python=2.x
            # subprocess.getoutput()和subprocess.getstatusoutput()函数是来自Python 2.x的commands模块的两个遗留函数。它们隐式的调用系统shell，并且不保证其他函数所具有的安全性和异常处理的一致性。另外，它们从Python 3.3.4开始才支持Windows平台。
            # a=subprocess.getoutput('pip install %s'%(package))
            # b=subprocess.CalledProcessError(a)
        except:
            print('except:')
    return results
